Variability in Template-based Code Generators for Product Line Engineering

نویسندگان

  • Timo Greifenberg
  • Klaus Müller
  • Alexander Roth
  • Bernhard Rumpe
  • Christoph Schulze
  • Andreas Wortmann
چکیده

Generating software from abstract models is a prime activity in model-driven engineering. Adaptable and extendable code generators are important to address changing technologies as well as user needs. However, they are less established, as variability is often designed as configuration options of monolithic systems. Thus, code generation is often tied to a fixed set of features, hardly reusable in different contexts, and without means for configuration of variants. In this paper, we present an approach for developing product lines of template-based code generators. This approach applies concepts from feature-oriented programming to make variability explicit and manageable. Moreover, it relies on explicit variability regions (VR) in a code generator’s templates, refinements of VRs, and the aggregation of templates and refinements into reusable layers. A concrete product is defined by selecting one or multiple layers. If necessary, additional layers required due to VR refinements are automatically selected.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Modeling Variability in Template-based Code Generators for Product Line Engineering

Generating software from abstract models is a prime activity in model-driven engineering. Adaptable and extendable code generators are important to address changing technologies as well as user needs. However, they are less established, as variability is often designed as configuration options of monolithic systems. Thus, code generation is often tied to a fixed set of features, hardly reusable...

متن کامل

An Ontological Approach for Identifying Variants: The Cases of Specialization and Template Instantiation

Software is a crucial component in many products and often is a product in itself. Software artifacts are often developed for particular needs. However, identifying software variants is important for increasing reuse, reducing time and costs of development and maintenance, increasing quality and reliability, and improving productivity. We propose a method for utilizing variability mechanisms fr...

متن کامل

Handling Variability in Model Transformations and Generators

Software product line engineering aims to reduce development time, effort, cost, and complexity by taking advantage of the commonality within a portfolio of similar products. The effectiveness of a software product line approach directly depends on how well feature variability within the portfolio is implemented and managed throughout the development lifecycle, from early analysis through maint...

متن کامل

Developing configurable extensible code generators for model-driven development approach

The need for agility and adaptiveness of business applications is on the rise with continued increase in business dynamics. Codecentric techniques show unacceptable responsiveness in this dynamic context as business applications are subjected to changes along multiple dimensions that evolve independently. Use of model driven techniques for developing such business applications is argued as a pr...

متن کامل

Implementing Feature Variability for Models and Code with Projectional Language Workbenches

Product line engineering deals with managing and implementing the variability among a set of related products. We distinguish between two kinds of variability: configuration and customization. Customization variability can be described using programming language code or creative construction DSLs, whereas configuration variability is described using configuration based approaches, such as featu...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2016